Global Sequence Protocol: A Robust Abstraction for Replicated Shared State
نویسندگان
چکیده
In the age of cloud-connected mobile devices, users want responsive apps that read and write shared data everywhere, at all times, even if network connections are slow or unavailable. The solution is to replicate data and propagate updates asynchronously. Unfortunately, such mechanisms are notoriously difficult to understand, explain, and implement. To address these challenges, we present GSP (global sequence protocol), an operational model for replicated shared data. GSP is simple and abstract enough to serve as a mental reference model, and offers fine control over the asynchronous update propagation (update transactions, strong synchronization). It abstracts the data model and thus applies both to simple key-value stores, and complex structured data. We then show how to implement GSP robustly on a clientserver architecture (masking silent client crashes, server crash-recovery failures, and arbitrary network failures) and efficiently (transmitting and storing minimal information by reducing update sequences). 1998 ACM Subject Classification D.1.3 Concurrent Programming
منابع مشابه
Agency, Structure and the Power of Global Health Networks
Global health networks—webs of individuals and organizations linked by a shared concern for a particular condition—have proliferated over the past quarter century. In a recent editorial in this journal, I presented evidence that their effectiveness in addressing four challenges—problem definition, positioning, coalitionbuilding and governance—shapes their ability to influence policy. The editor...
متن کاملRobust State Sharing for Wide Area Distributed Applications
In this article, we present the Mocha wide area computing infrastructure we are currently developing. Mocha provides support for robust shared objects on heterogeneous platforms, and utilizes advanced distributed shared memory techniques for maintaining consistency of shared objects that are replicated at multiple nodes to improve performance. In addition, our system handles failures that we fe...
متن کاملDynamic Cutoff Detection in Parameterized Concurrent Programs
We consider the class of finite-state programs executed by an unbounded number of replicated threads communicating via shared variables. The thread-state reachability problem for this class is essential in software verification using predicate abstraction. While this problem is decidable via Petri net coverability analysis, techniques solely based on coverability suffer from the problem’s expon...
متن کاملContributions to Building Efficient and Robust State-Machine Replication Protocols
State machine replication (SMR) is a software technique for tolerating failures using commodity hardware. The critical service to be made fault-tolerant is modeled by a state machine. Several, possibly different, copies of the state machine are then deployed on different nodes. Clients of the service access the replicas through a SMR protocol which ensures that, despite concurrency and failures...
متن کاملSymmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs (Extended Technical Report)
Predicate abstraction is a key enabling technology for applying finite-state model checkers to programs written in mainstream languages. It has been used very successfully for debugging sequential system-level C code. Although model checking was originally designed for analyzing concurrent systems, there is little evidence of fruitful applications of predicate abstraction to shared-variable con...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015